package com.supms.patrol.mapper;

import java.util.List;

import com.supms.patrol.domain.TourTestEval;
import com.supms.patrol.domain.TourTestItems;
import org.apache.ibatis.annotations.Param;

/**
 * 巡考内容项Mapper接口
 * 
 * @author LiangHao
 * @date 2022-03-15
 */
public interface TourTestItemsMapper 
{
    /**
     * 查询巡考内容项
     * 
     * @param id 巡考内容项主键
     * @return 巡考内容项
     */
    public TourTestItems selectTourTestItemsById(Long id);

    /**
     * 查询巡考内容项列表
     * 
     * @param tourTestItems 巡考内容项
     * @return 巡考内容项集合
     */
    public List<TourTestItems> selectTourTestItemsList(TourTestItems tourTestItems);

    /**
     * 新增巡考内容项
     * 
     * @param tourTestItems 巡考内容项
     * @return 结果
     */
    public int insertTourTestItems(TourTestItems tourTestItems);

    /**
     * 修改巡考内容项
     * 
     * @param tourTestItems 巡考内容项
     * @return 结果
     */
    public int updateTourTestItems(TourTestItems tourTestItems);

    /**
     * 删除巡考内容项
     * 
     * @param id 巡考内容项主键
     * @return 结果
     */
    public int deleteTourTestItemsById(Long id);

    /**
     * 批量删除巡考内容项
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTourTestItemsByIds(Long[] ids);

    /**
     * 获取当前巡考表的具体情况记录
     *
     * @param tourTestId 巡考表ID
     * @return 巡考表和具体情况记录结果
     */
    public List<TourTestItems> getTourTestItemByTTId(Long tourTestId);

    /**
     * 添加巡考具体情况记录
     *
     * @param tourTestEvalList 提交的巡考情况记录表及各表ID关联
     * @return 结果
     */
    public int insertTourTestEval(@Param("tourTestEvalList") List<TourTestEval> tourTestEvalList);

    /**
     * 先删除巡考具体情况记录表原有的数据
     *
     * @param tourTestId 巡考表ID
     */
    public void deleteTourTestEvalByTourTestId(Long tourTestId);
}
